草庐IT

Android OpenGLES 渲染到纹理

全部标签

c++ - 使用 GLFW3 在 OpenGL 上下文之间共享纹理不起作用

下面的程序应该:创建一个不可见的GLFWwindow*masterWindow从文件加载纹理,而事件的OpenGL上下文是与masterWindow相关联的上下文创建一个GLFWwindow*childWindow,在此窗口的OpenGL上下文和masterWindow的上下文之间激活共享在childWindow中显示带有纹理的全窗口四边形但是,这不起作用,即我在childWindow中显示随机的图形内存片段,而不是纹理。如果我在加载它之前使childWindow的上下文成为当前上下文,那么显示纹理确实有效,这就是为什么我认为问题既不在我的着色器也不在我的纹理加载例程(我从这里获取,h

为什么我们不在渲染方法中编写axios.get(blabla)?

我们为什么不写axios.get('https://rallycoding.herokuapp.com/api/music_albums').then(response=>this.setState({albums:response.data}));在-的里面render方法,我们必须把它放在componentWillMount?如果我们把它放在开始的开始render方法?我把它放在render并得到相同的结果,但教程说应该在componentWillMount.看答案通常,两者之间的区别将在多少次您想提出这个请求吗?如果您只想在组件第一次安装时才发生,您将使用ComponentWillMou

c++ - 从 sdl 调色板表面创建 OpenGL 纹理 (SDL_PIXELFORMAT_INDEX8)

我创建了一个bmp并使用SDL_LoadBMP加载它检查生成的SDL_Surface时,我可以看到它的格式为SDL_PIXELFORMAT_INDEX8。我想使用SDL表面使用glTexImage2D生成纹理.通常我只能检查表面接近于此的东西:SDL_Surface*surface=SDL_LoadBMP(filename.c_str());GLenummode=0;Uint8bpp=surface->format->BytesPerPixel;Uint32rm=surface->format->Rmask;if(bpp==3&&rm==0x000000ff)mode=GL_RGB;i

c++ - 如何将 win32 窗口渲染为 opengl 纹理?

我希望能够在OpenGL纹理中渲染win32控件。为了能够对其进行3d转换。具体来说,我想嵌入InternetExplorer以在3D转换窗口中显示网页和视频。如何以足够快的方式将win32窗口渲染到纹理(我需要保持60fps)? 最佳答案 您可以通过多种方式来解决这个问题。在所有情况下,您都需要从目标窗口(GetDC、GetDCEx)获取设备上下文(DC)。然后,您可以直接读取像素(GetPixel);或将内容blit到您自己的DC(BitBlt),然后访问它(例如GetDIBits)。既然您想“嵌入”InternetExplor

c++ - Xiaolin Wu 圆算法渲染圆里面有洞

我从这里实现了XiaolinWu圆算法:https://create.stephan-brumme.com/antialiased-circle/在C++中:floatradiusX=endRadius;floatradiusY=endRadius;floatradiusX2=radiusX*radiusX;floatradiusY2=radiusY*radiusY;floatmaxTransparency=127;floatquarter=roundf(radiusX2/sqrtf(radiusX2+radiusY2));for(float_x=0;_xx,y为圆心坐标。在我看来它看

c++ - 如何在 OpenGL 中将像素绘制为多边形的纹理?

在C++OpenGL中,我想手动将每个像素(作为我假设的纹理)绘制到一个简单的正方形基元上,或者实际上是2个多边形形成一个正方形。我不知道从哪里开始,也不知道要寻找什么短语。我是在寻找纹理贴图还是创建纹理?大多数示例都是从文件加载,但我不想这样做。我已经尝试阅读我的OpenGL编程指南书,但它只是一个迷宫,因为我对OpenGL还很陌生。请帮忙。 最佳答案 仔细看看glTexImage2D。这是在OpenGL中为2D纹理加载图像的调用。glTexImage2D实际上采用原始指针指向图像中的像素数据。你可以自己分配内存,直接设置图像数据

c++ - OpenGL:禁用纹理颜色?

是否可以禁用纹理颜色,只使用白色作为颜色?它仍然会读取纹理,所以我不能使用glDisable(GL_TEXTURE_2D)因为我也想渲染alphachannel。我现在能想到的就是制作新的纹理,其中所有颜色数据都是白色的,保持原样的alpha。我需要在没有着色器的情况下执行此操作,这是否可行?编辑:澄清:我想使用两种纹理:白色和正常颜色。编辑:显然这是不可能的 最佳答案 我仍然不能完全确定我是否正确理解了您想要的内容,但我会试一试。我的想法是,当您调用glTexImage2D时,您指定了您正在加载的纹理元素的格式,并且您指定了您要加

c++ - OpenGL纹理

很抱歉请求帮助,但我很沮丧。我不知道为什么,但我似乎从来没有能够在OpenGL中使用纹理。我真的很感激一个最小的例子,只要它只使用/gl.h/glu.h和标准C++库。任何其他见解将不胜感激。很抱歉只是要求您为我编写一个完整的程序,但我真的可以使用它,因为我看到的每个互联网示例都使用过剩。由于某种原因我无法编译它,这很烦人。谢谢。 最佳答案 您需要一些库或接口(interface)来创建OpenGL上下文(以及一个显示它的窗口)。GLUT已经过时,但仍然很受欢迎;现在好的选择是GLFW或SDL。我推荐GLFW。(顺便说一句,为什么你

c++ - OpenGL:如何检查用户 GFX 卡是否可以使用我的着色器进行渲染?

如果用户不支持我为更快地渲染某些内容而制作的着色器,我需要进行回退。那么,我究竟该如何检查这些东西呢?我知道某些GLSL版本不支持某些着色器函数,但是,这些函数与所需版本的完整列表在哪里?但问题是,我不知道我到底需要知道什么才能知道谁可以渲染那个着色器。是否仅检查哪个GLSL版本支持哪个功能?或者还有什么要知道的吗?我想100%确定何时切换到回退渲染以及何时使用GLSL渲染。我知道如何检索GLSL和OpenGL版本字符串。 最佳答案 如果glLinkProgram设置GL错误状态,然后着色器与卡不兼容。

c++ - 我可以使用什么在我的 GUI 应用程序中用颜色渲染 3D 图像(OBJ、PLY)?

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭10年前。Improvethisquestion我刚刚通过VTK和PCLVisualizer,无法显示完整的PLY图像。显示的只是几何图形,如下所示:关于库和使用的任何输入?